package com.yf.exam.modules.repo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yf.exam.modules.repo.dto.request.RepoReqDTO;
import com.yf.exam.modules.repo.dto.response.RepoRespDTO;
import com.yf.exam.modules.repo.entity.Repo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* <p>
* 题库Mapper
* </p>
*
* @author 聪明笨狗
* @since 2020-05-25 13:23
*/
public interface RepoMapper extends BaseMapper<Repo> {

    /**
     * 分页查询题库
     * @param page
     * @param query
     * @return
     */
    IPage<RepoRespDTO> paging(Page page, @Param("query") RepoReqDTO query, @Param("userId") String userId);
    
    /**
     * 获取教师发布的所有公共题库
     * @param page
     * @param teacherId
     * @return
     */
    IPage<RepoRespDTO> teacherPublicPaging(Page page, @Param("teacherId") String teacherId);
    
    /**
     * 根据部门ID列表分页查询题库
     * @param page
     * @param query
     * @param departIds
     * @return
     */
    IPage<RepoRespDTO> pagingByDepartIds(Page page, @Param("query") RepoReqDTO query, @Param("departIds") List<String> departIds);

}